package paidaxing.blog.core.service;

import paidaxing.blog.core.dto.SearchRecordDTO;
import java.util.Date;
import java.util.List;

public interface SearchRecordsService {
    /**
     * 记录搜索关键词
     *
     * @param keyword 搜索关键词
     * @param userId 用户ID（可为空）
     * @return 是否成功
     */
    boolean recordSearch(String keyword, Long userId);

    /**
     * 获取热门搜索关键词
     *
     * @param limit 限制数量
     * @return 搜索记录列表
     */
    List<SearchRecordDTO> getHotSearches(int limit);

    /**
     * 获取搜索记录（按日期范围）
     *
     * @param startDate 开始日期
     * @param endDate 结束日期
     * @return 搜索记录列表
     */
    List<SearchRecordDTO> getSearchRecordsByDateRange(Date startDate, Date endDate);

    /**
     * 获取搜索记录（按关键词）
     *
     * @param keyword 关键词
     * @return 搜索记录
     */
    SearchRecordDTO getSearchRecordByKeyword(String keyword);
}